home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / cmds / gdb.new / gdb-4.0 / bfd / doc / archures.p < prev    next >
Encoding:
Text File  |  1991-09-29  |  2.9 KB  |  93 lines

  1. /* bfd_architecture
  2. This enum gives the object file's CPU
  3. architecture, in a global sense.  E.g. what processor family does it
  4. belong to?  There is another field, which indicates what processor
  5. within the family is in use.  The machine gives a number which
  6. distingushes different versions of the architecture, containing for
  7. example 2 and 3 for Intel i960 KA and i960 KB, and 68020 and 68030 for
  8. Motorola 68020 and 68030.
  9. */
  10.  
  11. enum bfd_architecture 
  12. {
  13.   bfd_arch_unknown,   /* File arch not known */
  14.   bfd_arch_obscure,   /* Arch known, not one of these */
  15.   bfd_arch_m68k,      /* Motorola 68xxx */
  16.   bfd_arch_vax,       /* DEC Vax */   
  17.   bfd_arch_i960,      /* Intel 960 */
  18.     /* The order of the following is important.
  19.        lower number indicates a machine type that 
  20.        only accepts a subset of the instructions
  21.        available to machines with higher numbers.
  22.        The exception is the "ca", which is
  23.        incompatible with all other machines except 
  24.        "core". */
  25.  
  26. #define bfd_mach_i960_core      1
  27. #define bfd_mach_i960_ka_sa     2
  28. #define bfd_mach_i960_kb_sb     3
  29. #define bfd_mach_i960_mc        4
  30. #define bfd_mach_i960_xa        5
  31. #define bfd_mach_i960_ca        6
  32.  
  33.   bfd_arch_a29k,      /* AMD 29000 */
  34.   bfd_arch_sparc,     /* SPARC */
  35.   bfd_arch_mips,      /* MIPS Rxxxx */
  36.   bfd_arch_i386,      /* Intel 386 */
  37.   bfd_arch_ns32k,     /* National Semiconductor 32xxx */
  38.   bfd_arch_tahoe,     /* CCI/Harris Tahoe */
  39.   bfd_arch_i860,      /* Intel 860 */
  40.   bfd_arch_romp,      /* IBM ROMP RS/6000 */
  41.   bfd_arch_alliant,   /* Alliant */
  42.   bfd_arch_convex,    /* Convex */
  43.   bfd_arch_m88k,      /* Motorola 88xxx */
  44.   bfd_arch_pyramid,   /* Pyramid Technology */
  45.   bfd_arch_h8_300,    /* Hitachi H8/300 */
  46.   bfd_arch_last
  47.   };
  48.  
  49. /*
  50. stuff
  51.  
  52.  bfd_prinable_arch_mach
  53. Return a printable string representing the architecture and machine
  54. type. The result is only good until the next call to
  55. @code{bfd_printable_arch_mach}.  
  56. */
  57.  PROTO(CONST char *,bfd_printable_arch_mach,
  58.     (enum bfd_architecture arch, unsigned long machine));
  59.  
  60. /*
  61.  
  62. *i bfd_scan_arch_mach
  63. Scan a string and attempt to turn it into an archive and machine type combination.  
  64. */
  65.  PROTO(boolean, bfd_scan_arch_mach,
  66.     (CONST char *, enum bfd_architecture *, unsigned long *));
  67.  
  68. /*
  69.  
  70. *i bfd_arch_compatible
  71. This routine is used to determine whether two BFDs' architectures and machine types are
  72. compatible.  It calculates the lowest common denominator between the
  73. two architectures and machine types implied by the BFDs and sets the
  74. objects pointed at by @var{archp} and @var{machine} if non NULL. 
  75.  
  76. This routine returns @code{true} if the BFDs are of compatible type,
  77. otherwise @code{false}.
  78. */
  79.  PROTO(boolean, bfd_arch_compatible,
  80.      (bfd *abfd,
  81.      bfd *bbfd,
  82.      enum bfd_architecture *archp,
  83.      unsigned long *machinep));
  84.  
  85. /*
  86.  
  87.  bfd_set_arch_mach
  88. Set atch mach
  89. */
  90. #define bfd_set_arch_mach(abfd, arch, mach) \
  91.      BFD_SEND (abfd, _bfd_set_arch_mach,\
  92.                     (abfd, arch, mach))
  93.